package com.bgs.travelapp.userRealBinds.controller;

import com.bgs.travelapp.page.PageRequest;
import com.bgs.travelapp.result.CommonResult;
import com.bgs.travelapp.userRealBinds.entity.UserRealBindsEntity;
import com.bgs.travelapp.userRealBinds.service.UserRealBindsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * 实名信息绑定
 * lzy 2022-8-17 08点45分
 */
@RestController
@RequestMapping("/userRealBinds")
@CrossOrigin
public class UserRealBindsController {

    @Autowired
    UserRealBindsService userRealBindsService;

    /**
     * 批量删除实名信息（前台展示）
     * lzy 2022-8-21 20点30分
     * @param ids
     * @return
     */
    @PostMapping("/deleteBatchUserRealBinds")
    public CommonResult deleteBatchUserRealBinds(Integer[] ids){
        return userRealBindsService.deleteBatchUserRealBinds(ids);
    }

    /**
     * 根据UserId取实名信息列表（前台展示）
     * lzy 2022-8-19 08点45分
     * @param userId
     * @return
     */
    @GetMapping("/getUserRealBindsListView")
    public CommonResult getUserRealBindsListView(Integer userId){
        return userRealBindsService.getUserRealBindsListView(userId);
    }

    /**
     * 获取实名信息列表（后台管理）
     * lzy 2022-8-17 11点28分
     * @param pageRequest
     * @return
     */
    @GetMapping("/getUserRealBindsList")
    public CommonResult getUserRealBindsList(PageRequest pageRequest){
        return userRealBindsService.getUserRealBindsList(pageRequest);
    }

    /**
     * 获取用户账号 用于 绑定实例信息（后台管理）
     * lzy 2022-8-17 15点16分
     * @return
     */
    @GetMapping("/getUserList")
    public CommonResult getUserList(){
        return userRealBindsService.getUserList();
    }

    /**
     * 绑定（新增）实名信息（后台管理）
     * lzy 2022-8-17 15点22分
     * @param userRealBinds
     * @return
     */
    @PostMapping("/saveUserRealBins")
    public CommonResult saveUserRealBinds(UserRealBindsEntity userRealBinds){
        return userRealBindsService.saveUserRealBins(userRealBinds);
    }

    /**
     * 校验当前账户是否已绑定当前实名信息（后台管理）
     * lzy 2022-8-17 19点22分
     * @param realName
     * @return
     */
    @GetMapping("/checkRealName")
    public CommonResult checkRealName(String realName,Integer userId){
        return userRealBindsService.checkRealName(realName,userId);
    }

    /**
     * 校验当前账户是否已绑定当前实名身份证号（后台管理）
     * lzy 2022-8-17 19点46分
     * @param identity
     * @param userId
     * @return
     */
    @GetMapping("/checkIdentity")
    public CommonResult checkIdentity(String identity,Integer userId){
        return userRealBindsService.checkIdentity(identity,userId);
    }

    /**
     * 删除实名信息（逻辑删除）（后台管理）
     * lzy 2022-8-17 20点04分
     * @param id
     * @return
     */
    @DeleteMapping("/deleteUserRealBinds")
    public CommonResult deleteUserRealBinds(Integer id){
        return userRealBindsService.deleteUserRealBinds(id);
    }

    /**
     * 修改实例信息（后台管理）
     * lzy 2022-8-17 20点07分
     * @param userRealBindsEntity
     * @return
     */
    @PutMapping("/editUserRealBinds")
    public CommonResult editUserRealBinds(UserRealBindsEntity userRealBindsEntity){
        return userRealBindsService.editUserRealBinds(userRealBindsEntity);
    }

    /**
     * 实名信息模糊查询（后台管理）
     * lzy 2022-8-17 20点45分
     * @param realName
     * @param identity
     * @param pageRequest
     * @return
     */
    @GetMapping("/getUserRealBindsFind")
    public CommonResult getUserRealBindsFind(PageRequest pageRequest,String realName,String identity){
        return userRealBindsService.getUserRealBindsFind(pageRequest,realName,identity);
    }

}
